专利摘要:
グリッドベースアプリケーションにおけるクライアント上でのマルチレベル・アンドゥのアーキテクチャが提供される。このアーキテクチャは、変更のトラッキングが、非同期な(および同期的な)シナリオで切れ目なく機能する、制御駆動の変更をカスケードするシステムである。クライアントアプリケーションは、グリッドオブジェクトに関連付けられ、グリッドオブジェクトをインスタンス化しかつ構成する。アプリケーションは、グリッド内のデータに対する変更を、開始することが可能であり、および/または、ユーザが、グリッド内のデータを直接編集することが可能である。変更の結果は、アプリケーションへの通知となり、通知にはオーダキーが含まれる。アプリケーションは、通知をコンシュームして、次に、オーダキーを使用して更新機能を呼び出すことにより、同期または非同期の計算に基づき、新しい変更を付け加えることができる。アプリケーションは、キーを使用して、アンドゥ/リドゥのために適切に収集される更なる更新を加える。
公开号:JP2011509489A
申请号:JP2010542241
申请日:2008-12-22
公开日:2011-03-24
发明作者:アール.クーネオ アンドリュー;エム.ゼンツ エリック;ウォーリン ベン
申请人:マイクロソフト コーポレーション;
IPC主号:G06F12-00
专利说明:

[0001] デスクトップクライアントアプリケーションと「シン」ウェブアプリケーションとの間の主な差別化要因の1つに、編集実績の豊富さがある。従来、ウェブアプリケーションでは、ユーザがアプリケーションをナビゲートする際にサーバにデータをコミットする個々のポストバックに従って、サーバとの間でデータが処理される。ユーザの動作をアンドゥする(取り消す)ことは、ユーザが一旦ウェブページのナビゲートをやめてしまうと、多くの場合、不可能である。逆に、ユーザは、クライアントアプリケーションとはより流動的に対話可能であるが、ユーザがデータを保存しようとするときに保存できるだけである。さらに、ユーザがクライアントアプリケーションで作業中に編集で間違いをした場合、ユーザは、1回または複数回「アンドゥ」を選択して、保存されているファイルには影響を与えずに変更を元に戻すことができる。]
背景技術

[0002] 今日、多くのソフトウェア技術において、ウェブ型のアプリケーションを介して企業のサーバ上でデータと対話する従業員を必要としている。例えば、プロジェクトサーバ内に通常見られる、構造化されたタスクデータの編集(例えば、追加/削除タスク、リソースの割り当て、スケジュールデータの変更等)を、ウェブページを介して行う場合を考える。]
発明が解決しようとする課題

[0003] マルチレベル・アンドゥの能力が無いと、ユーザが動作をアンドゥできないため、これは危険の高いものとなる。ユーザは、頻繁に保存を行うことができるが、そのようなデータセットをサーバに保存することは時間のかかる処理である。従って、効果的な編集性能は、複雑なデータをウェブページにタイプするためのユーザの快適性に比例して減少する。]
課題を解決するための手段

[0004] 以下では、本明細書に記載されるいくつかの新規な実施形態の、基本的な理解を提供するために、簡素化された要約を示す。この要約は、広範囲な概要ではなく、かつ、重要/決定的な要素を確認することまたはその範囲を明確にすること、を意図していない。その唯一の目的は、後に示されるさらに詳細な記載の前置きとして、いくつかの概念を簡素化された形式で示すことである。]
[0005] 開示されるマルチレベル・アンドゥアーキテクチャは、変更のトラッキングが、非同期な(および同期的な)シナリオで切れ目なく機能する、制御駆動の変更をカスケードするシステムである。さらに、アンドゥでは、保存動作を超えて、黙示的変更と明示的変更との間の違いを理解し、これらの変更を処理し、それに従ってアンドゥのためのコンテキストが提供される。]
[0006] クライアントアプリケーションは、アプリケーションのデータを、テーブル状に表現するグリッドオブジェクトに関連付けられ、それによって、編集および可視化をサポートする。アプリケーションは、部分的には、グリッドオブジェクトをインスタンス化し構成する。アプリケーションは、グリッド内のデータに対する変更を、プログラムで開始することが可能であり、および/または、ユーザが、グリッド内のデータを直接編集することが可能である。変更の結果は、アプリケーションへの通知となり、通知にはオーダキーが含まれる。アプリケーションは、通知をコンシューム(消費)して、次に、オーダキーを使用して更新機能を呼び出すことにより、同期または非同期の計算(例えば、スケジューリング)に基づき、新しい変更を付け加えることができる。アプリケーションは、未来の任意の時点においてキーを使用して、この変更にさらなる更新を加えることができる。更新は、アンドゥ/リドゥのために、適切に収集される。]
[0007] 前述のおよび関連する目的を達成するため、ある例示的態様が以下の記載および添付の図面と関連して本明細書において記載される。これらの態様は、本明細書に開示される原理を採用することが可能である種々の方法のうちのわずかを示し、全てのそのような態様およびその等価物を含むことを意図する。他の利点および新規の特徴は、図面と併せて考察されるときに以下の詳細な説明から明らかになるであろう。]
図面の簡単な説明

[0008] コンピュータに実装されるアンドゥシステムを例示する図である。
マルチレベルのデータ変更のリバース操作を提供するクライアント・サーバシステムの実装を例示する図である。
データへの非同期のアンドゥ/リドゥ操作の例を例示する図である。
非同期の順不同変更の処理に対処する変更キーの使用に基づく、最終的なデータ更新を例示する図である。
変更コンポーネントの一部として変更トラッカ、および、リバースコンポーネントの一部としてアンドゥスタック、を例示する図である。
グリッド内のデータの初期のグリッド状態、アンドゥスタックのスタック状態、および変更トラッカのトラッカ状態、を例示する図である。
黙示的変更と、スタック状態およびトラッカ状態への影響と、を例示する図である。
グリッドデータのタスク名の変更と、アンドゥスタックおよび変更トラッカへの影響と、を例示する図である。
アンドゥ操作の実行を例示する図である。
データのリバース操作を提供する、コンピュータに実装される方法を例示する図である。
明示的/黙示的変更を処理するための方法を例示する図である。
データのリバース操作を提供する、コンピュータに実装される方法を例示する図である。
開示されるアーキテクチャに従ってマルチレベル・アンドゥを実行すべく作動可能なコンピュータシステムのブロック図である。
マルチレベル・アンドゥ処理のための例示のクライアント・サーバコンピュータ環境の概略ブロック図である。]
実施例

[0009] 開示されるアーキテクチャでは、グリッドベースアプリケーションにおいてクライアント上でマルチレベル・アンドゥをサポートすることにより、「シン」ウェブアプリケーションの編集経験における大きなギャップが埋められる。この特徴は多くのオンライン編集経験にも同様に有用である。例えば、マルチレベル・アンドゥにより、ユーザは、一度により多くのデータを編集する際に、より快適に感じることができ、また、アプリケーションの有益な性能をユーザはより認知することができる。さらに、オンラインバージョンのアプリケーションでも、レコード内の複数の変更をアンドゥおよびリドゥすることができ、ユーザが編集について全体的に制御できる、という利点がある。]
[0010] ここで図面を参照すると、全体を通して、同様の参照番号が同様の要素の参照に使用される。以下の記載では、説明の目的で、多数の特定の詳細が、その全体的な理解のために記載される。しかし、新規な実施形態が、これらの特定の詳細が無くとも実践可能であることは明らかである。他の例において、周知の構造およびデバイスが、その説明を容易にするために、ブロック図の形式で示される。]
[0011] 図1は、コンピュータに実装されるアンドゥシステム100を例示する。システム100には、ウェブアプリケーション106を介するデータ104に対する非同期の変更をトラッキングする変更コンポーネント102が含まれる。システム100には、データ104に対するデータ変更を前の状態にするリバース操作(例えば、アンドゥ,リドゥ)を実行するための、リバースコンポーネント108がさらに含まれる。データ104に対する変更は、データグリッド110を介して行うことができる。データ104に対する変更は、手動またはプログラムで、グリッド110を介して行うことができる。] 図1
[0012] アプリケーション106は、グリッド110をインスタンス化し、かつ構成する。グリッド110は、アプリケーション106に記憶されるデータをテーブル状に表現したものであり、編集と可視化をサポートする。変更とは、前と後のセルのデータ、加えて,セルの値を変化させるのに要した動作をいう。]
[0013] 一実施形態において、ウェブアプリケーション106は、ブラウザアプリケーションであり、これを介して、サーバによりホストされるウェブページに対して変更がなされる。そして、ユーザは、ウェブページドキュメントに対してなされる変更に、マルチレベル・アンドゥ/リドゥのリバース操作を行うことができる。別の実装において、ウェブアプリケーション106は、ユーザがネットワークデータよりむしろローカルデータと対話し、かつ、マルチレベル・アンドゥ/リドゥ等のリバース操作を行うことを可能にする、ブラウザである。]
[0014] 図2は、マルチレベルのデータ変更のリバース操作を提供するクライアント・サーバシステム200の実装を例示する。システム200は、図1のシステム100を示し、ウェブアプリケーション106を介するデータ104に対する非同期の変更をトラッキングする変更コンポーネント102と、データ変更を前の状態にするリバース操作(例えば、アンドゥ,リドゥ)を実行するためのリバースコンポーネント108と、がある。データ変更は、手動および/またはプログラムでデータグリッド110を介して行うことができる。ここで、データ変更が、ウェブサーバ202のウェブドキュメント(例えば、ウェブページ)200に加えられる。グリッド110に編集が通ると,変更通知が非同期の認証のためにアプリケーション106を介してサーバ202に送られる。一度認証されると、変更は、データ104に対する更新として、アプリケーション106を介してグリッド110に戻される。] 図1 図2
[0015] 図3は、データへの非同期のアンドゥ/リドゥ操作の例300を例示する。非同期の変更は、任意の数の非同期の認証または増加を必要とする変更である。エンティティがグリッドデータに対して変更を加えると、この変更の結果がアプリケーション106への通知となる。この通知に含まれるものは、オーダ(または変更)キーである。アプリケーション106では、通知をコンシュームして、次に、そのオーダキーで更新機能を呼び出すことにより、いくつかの同期または非同期の計算(例えば、スケジューリング)に基づき、新しい変更を付け加えることができる。アプリケーション106は、未来の任意の時点においてオーダキーを自由に使用して、この変更にさらなる更新を加える。これらの更新は、アンドゥ/リドゥのために、適切に収集される。] 図3
[0016] ここで、非同期の認証を必要とする、AおよびBで示される2つの変更が、グリッド110に入力される。編集が行われると、変更はグリッド110により順番にキャプチャされる。各変更は、オーダキーでタグ付けされる。例えば、変更Aは、オーダキーAでタグ付けされ(また、変更キーAでも示される)、第2の変更B(時間的に変更Aよりも後)が変更キーBで示される。データ変更が行われると、グリッド110はこれを検出し、通知をアプリケーション106(例えば、ブラウザ)に送り、アプリケーション106が今度はその通知を認証のためにサーバ202に送る。サーバ202における認証処理は、順不同で発生させることが可能であり、または一旦認証が完了すると、サーバは前に指示された認証を順不同で送ることができる。従って、オーダキーにより、グリッド110における変更の指示が容易にされる。]
[0017] 本例において、第1の変更通知要求302が、グリッド110からアプリケーション106へ送られて、第2の行の、「期間」とラベル付けされるフィールドを有する列に対して行われた、期間の新しい値が5日間と設定されるデータ変更Aを報告する。それに続くデータ編集では、グリッド110は、第2の変更通知要求304をアプリケーション106に送り、第3の行の、「期間」とラベル付けされるフィールドを有する列に対して行われた、期間の新しい値が7日間と設定されるデータ変更Bを報告する。変更通知要求(302および304)は、アプリケーション106に順番に送られる(例えば、変更Aの次に変更B)。アプリケーション106は次に、通知要求(302および304)をサーバ202に転送し、サーバ202は、変更要求(302および304)を非同期に認証し、認証をアプリケーション106に戻す。]
[0018] ここで、サーバ202は、第1の変更通知要求302に対する第1の認証処理306を開始する。次に、サーバ202は、第2の変更通知要求304に対する第2の認証処理308を受け取り、開始する。サーバ202は、第1の認証処理306の前に第2の認証処理308を完了する。従って、第2の更新応答310が、関連するデータを更新するために、サーバ202からアプリケーション106を介してグリッド110に送られる。第2の更新応答310には、データ変更が第1のデータ変更Aに対応して行われた順番を示すオーダキーBが含まれる。第2の更新応答310にはまた、変更が、第3の行の、「終了日」とラベル付けされるフィールドで行われ、終了日の新しい値が5/27である、ということも含まれる。これは、第2の変更通知要求304内の新しい値7日間に対応する。]
[0019] サーバ202は、次に、第1の認証処理306を完了し、関連するデータを更新するために、第1の更新応答312を、アプリケーション106を介してグリッド110に送る。第1の更新応答312には、データ変更が第2のデータ変更Bに対応して行われた順番を示すオーダキーAが含まれる。第1の更新応答312にはまた、変更が、第2の行の、「終了日」とラベル付けされるフィールドで行われ、終了日の新しい値が5/25である、ということも含まれる。これは、第1の変更通知要求302内の新しい値5日間に対応する。従って、変更は、順不同で認証から戻される(変更Bの後にA)。]
[0020] 図4は、非同期の順不同変更処理に対処する変更キーに基づく、最終的なデータ更新を例示する。最後の保存操作後に起こったデータ変更への要求の結果400を示す。結果は、サーバ202から戻されると、実際に事象が起こった順番(変更Bの後に変更A)ではなく、変更(またはオーダ)キーが指示する論理的順番(変更Aの後に変更B)で配置され、記憶される。従って、変更Aに関する変更402が、一緒に記憶され、変更Bの前に起こるものとして示される。同様に、変更Bに関する変更404が、一緒に記憶され、変更Aの後に起こるものとして示される。] 図4
[0021] アンドゥおよびリドゥのリバース操作は、このように操作もされる。従って、ユーザがアンドゥを選択した場合、変更Bに関連する両方の変更(期間および終了日)は、それが変更キーBにより示されるようにユーザが行った最後の変更であるため、たとえ、変更Aに対する更新が、グリッドが遭遇した最後の事象であったとしても、アンドゥされるであろう。]
[0022] エンティティ(例えば、ユーザまたはシステム)は、グリッドと対話して、明示的または黙示的に、グリッド内のデータに対して変更を行う。明示的な変更は、データに直接影響するグリッドに対して行われる変更である(例えば、タスクの開始日を変更する)。黙示的な変更は、データに影響を与えないグリッドに対して行われる変更である(例えば、列のサイズを変更する)。]
[0023] 図5は、変更コンポーネント102の一部として変更トラッカ500、および、リバースコンポーネント108の一部としてアンドゥスタック502、を例示する。エンティティがグリッドデータに対して変更を行うと、各変更の型が記録され、実行およびアンドゥするための機能がアンドゥスタック502に配置される。アンドゥスタック502は、動作の最後の組の順序立てられた履歴が記憶されるデータ構造である。アンドゥ事象が起こると、動作がアンドゥスタック502から取り除かれ、第1の明示的な変更に遭遇するまで戻される。第1の明示的な変更は、戻された後の最後の動作である。この時点で、アンドゥ操作が、終了する。これに続くアンドゥ操作は、同じ方法で処理される。アンドゥ命令では、次の明示的な動作の前の全ての黙示的な動作を取り消し、そして、明示的な動作を取り消す。] 図5
[0024] このシステムの効果は、アンドゥ操作の後、グリッドの視覚的状態が、アンドゥされた動作の前まで復元されることである。全ての明示的な変更は、アンドゥスタック502から別個の構造(変更トラッカ500)に記憶される。この変更トラッカ500を、セルレベルの変更の集合としてエクスポートすることができる。]
[0025] アンドゥスタック502および変更トラッカ500は、独立した構造である。変更が起こると、その変更は、アンドゥスタック502に押し入れられ、変更が明示的である場合は、その変更のエントリが変更トラッカ500に作成される。変更が黙示的である場合、変更は、変更トラッカ500にログをとられる。]
[0026] アンドゥ事象が起こると、変更は、アンドゥスタック502および変更トラッカ500から取り除かれ、新しい値が、変更トラッカ500に記録される。変更が変更トラッカ500に存在する場合、その変更は取り除かれる。変更が変更トラッカ500に存在しない場合、変更を取り消す動作(これそのものが変更である)が変更ログに追加される。保存操作が起こると、変更は、変更トラッカ500から読みだされ、データソースにコミットされて、変更トラッカ500がクリアされる。]
[0027] このシステムの効果は、変更をアンドゥするのに必要な情報が、アンドゥスタック502に記憶されるため、エンティティが、保存事象の前に起こった動作をアンドゥすることが可能であることである。同様に、変更トラッカ500は、アンドゥスタック502が無い場合に機能することが可能である。]
[0028] 図6から9は、グリッドデータ、アンドゥスタック、および変更トラッカの状態で起こる変更を例証するための一連の図を例示する。図6は、グリッド内のデータの初期のグリッド状態600、アンドゥスタックのスタック状態602、および、変更トラッカのトラッカ状態604を示す。変更は、グリッドデータの行2および3で起こる。] 図6
[0029] エンティティは次に、フェンスのペンキ塗りには、1日ではなく2日かかると決めることにより明示的な変更を行う。変更グリッド状態606には、期間の列の第2の行を2日間とする、変更が含まれる。プロジェクト管理アプリケーションの一部としてのプロジェクトの場合、例えば、期間の変更は、「終了」とも称する終了日の変更を引き起こす(カスケード変更)。カスケードトランザクションが、両方の変更を包含して作成される。従って、終了の列の第2の行のフィールド情報が、変更後のグリッド状態606に示すように、5/21/xx月曜日から5/22/xx火曜日に変更される。]
[0030] これらの期間および終了の変更は、スタック状態608に示すように、アンドゥスタックに押し入れられる。加えて、トラッカ状態610には、変更が反映される。図7は、黙示的変更と、スタック状態およびトラッカ状態への影響と、を示す。ここで、エンティティは、終了の列を非表示にし、これにより、グリッド状態612に変わり、このことで、変更がアンドゥスタックに押しいれられ、スタック状態614に変わるが、変更トラッカのトラッカ状態610は変わらない。エンティティは、プロジェクトを保存し、このことで、変更トラッカのトラッカ状態610がクリアされてスタック状態616になり、グリッドのデータはここでサーバデータと一致する。] 図7
[0031] 図8は、グリッドデータのタスク名の変更と、アンドゥスタックおよび変更トラッカへの影響と、を例示する。エンティティが、行3のタスク名を「道具の後片付け」から「プロジェクトの後片付け」に変更したことに基づき、グリッド状態618を変更する。スタック状態620には、スタックに押し入れられた変更が反映され、トラッカにはトラッカ状態622が反映される。] 図8
[0032] 図9は、アンドゥ操作の実行を例示する。スタック状態622およびトラッカ状態626(前回からの変更無し)に示すように、アンドゥでは、アンドゥスタックおよび変更トラッカから変更をポッピングすることにより、最後の明示的な変更を取り消す。エンティティは次に、アンドゥをもう一度実行し、これにより黙示的変更および残っている明示的変更の両方が取り消される。このカスケード効果により、変更がアンドゥスタックから取り除かれてスタック状態628になり、逆の変更が変更トラッカに加えられトラッカ状態630になり、グリッド状態がグリッド状態632に戻されて,図6のグリッド状態600と同じものになる。] 図6 図9
[0033] 次のものは、開示されるアーキテクチャの新規な態様を実行するための例示の方法論を代表して表す一連のフローチャートである。説明を容易にする目的で、例えば、フローチャートまたはフロー図の形式で本明細書に示される1つまたは複数の方法論が、一連の動作として示され説明されるが、方法論は動作の順番により制限されず、ある動作は、その方法論に従って、本明細書に示され説明されるものとは異なる順番および/またはその他の動作と同時に起こる、ことを理解および認識すべきである。例えば、当業者は、あるいは方法論が、状態図におけるもののように、一連の相互に関連する状態および事象として表されることを理解および認識するであろう。さらに、方法論において例示される全ての動作が、新規な実装のために必要であるわけではない。]
[0034] 図10は、データのリバース操作を提供する、コンピュータに実装される方法を例示する。1000にて、サーバのサーバドキュメントにおけるデータ変更が、クライアントベースのグリッドを介して検出される。1002にて、オーダキーが、変更通知内の変更に割り当てられる。1004にて、変更通知が認証のためにサーバに送られる。1006にて、非同期の認証情報が、通知に基づきサーバから受け取られる。1008にて、認証情報が、オーダキーに従ってグリッド内に順序づけされる。1010にて、サーバドキュメントにおけるアンドゥ/リドゥ操作が、オーダキーに基づき管理される。] 図10
[0035] 図11は、明示的/黙示的変更を処理する方法を例示する。1100にて、データの変更は、グリッドを介して受け取られる。1102にて、変更の型、および、変更をアンドゥ/リドゥする機能が、アンドゥスタックに記憶される。1104にて、リバース操作(例えば、リドゥ、アンドゥ)が受け取られる。1106にて、アンドゥ操作が、スタックから取り除かれ、第1の明示的な変更(取り消される最後の動作)に遭遇するまで戻される。] 図11
[0036] 図12は、データのリバース操作を提供する、コンピュータに実装される方法を例示する。1200にて、データ変更が、クライアントウェブアプリケーションを介してサーバのウェブドキュメントに対して開始される。1202にて、変更は、順序立てられた変更の履歴としてクライアントのアンドゥスタックに記憶され、変更のエントリがクライアントの変更トラッカに記憶される。1204にて、変更は、サーバで認証される。1206にて、認証情報は、非同期にサーバからウェブアプリケーションに受け取られる。1208にて、ウェブドキュメントにおけるアンドゥ/リドゥ操作は、アンドゥスタック内の順序立てられた変更の履歴および変更トラッカ内の変更のエントリに基づき、クライアントにて管理される。] 図12
[0037] 本用途において使用されるとき、用語「コンポーネント」および「システム」は、コンピュータ関連のエンティティ、すなわち、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかを参照することを意図する。例えば、コンポーネントは、プロセッサ上で稼働中の処理、プロセッサ、ハードディスクドライブ、(光および/または磁気記憶媒体の)複数の記憶ドライブ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および/または、コンピュータとすることができるが、これに限定されない。例示の目的で、サーバ上で稼働するアプリケーションおよびサーバの両方を、1つのコンポーネントとすることができる。1つまたは複数のコンポーネントは、処理および/または実行のスレッド内に存在させることができ、1コンポーネントは、1つのコンピュータ上に配置すること、および/または、2つまたはそれ以上のコンピュータ間に分散させること、が可能である。]
[0038] ここで図13を参照すると、開示されるアーキテクチャに従ってマルチレベル・アンドゥを実行すべく作動可能なコンピュータシステム1300のブロック図が例示される。その種々の態様の追加のコンテキストを提供するために、図13および以下の検討では、種々の態様を実装可能な適切なコンピュータシステム1300の、簡単な、一般的な説明を提供することが意図される。上記の説明は、1つまたは複数のコンピュータ上で稼働することができるコンピュータ実行可能命令の一般的コンテキストでなされたが、当業者は、新規な実施形態はまた、他のプログラムモジュールの組み合わせで、および/または、ハードウェアとソフトウェアとの組み合わせとして、実装することが可能であることを認識するであろう。] 図13
[0039] 一般に、プログラムモジュールには、特定のタスクを実行する、または、特定の抽象データ型を実装する、ルーチン、プログラム、コンポーネント、データ構造等が含まれる。さらに、当業者は、理解するであろうが、発明の方法は、シングルプロセッサコンピュータシステムまたはマルチプロセッサコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、および、パーソナルコンピュータ、ハンドヘルドコンピュータデバイス、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品等の、それぞれが1つまたは複数の関連するデバイスに動作可能に連結することができるもの、を含む、他のコンピュータシステム構成と共に実践可能である。]
[0040] 例示される態様はまた、特定のタスクが通信ネットワークを介してリンクされるリモート処理装置により実行される、分散コンピュータ環境において実践可能である。分散コンピュータ環境において、プログラムモジュールは、ローカルおよびリモートのメモリ記憶装置の両方に配置することができる。]
[0041] コンピュータには、典型的には、様々なコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、コンピュータによりアクセス可能であり、揮発性媒体および不揮発性媒体、着脱可能媒体および着脱不可能媒体を含む、任意の利用可能な媒体とすることができる。制限ではなく例として、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体には、任意の方法、または、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータ等の情報を記憶するための技術により実装される、揮発性および不揮発性、着脱可能および着脱不可能な媒体が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、DVD(digital Versatile disk)もしくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報を記憶するのに使用可能な、かつ、コンピュータによりアクセス可能な、任意の他の媒体、が含まれるが、それに限定されない。]
[0042] 再度図13を参照すると、種々の態様を実装するための例示のコンピュータシステム1300には、プロセシングユニット1304、システムメモリ1306、およびシステムバス1308を有するコンピュータ1302が含まれる。システムバス1308により、システムメモリ1306を含むがこれに限定されないシステムコンポーネントのためのインターフェースがプロセシングユニット1304に提供される。プロセシングユニット1304は、任意の種々の市販のプロセッサとすることができる。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも、プロセシングユニット1304として採用することができる。] 図13
[0043] システムバス1308は、メモリバス(メモリコントローラを用いてまたは用いずに)、周辺機器用バス、および、任意の様々な市販のバスアーキテクチャを使用するローカルバスに、さらに相互接続され得る、任意のいくつかのタイプのバス構造とすることができる。システムメモリ1306には、不揮発性メモリ(NON−VOL)1310および/または揮発性メモリ1312(例えば、RAM(random access memory))を含むことができる。基本入出力システム(BIOS)は、不揮発性メモリ1310(例えば、ROM、EPROM、EEPROM等)に記憶することが可能であり、BIOSは、起動中などにコンピュータ1302内の要素間の情報の転送を支援する基本ルーチンを記憶する。揮発性メモリ1312にはまた、データをキャッシュするためのスタティックRAM等の高速RAMを含み事ができる。]
[0044] コンピュータ1302には、内部ハードディスクドライブ(HDD)1314(例えば、EIDE、SATA)がさらに含まれ、内部HDD1314はまた、適切な筐体、磁気フロッピーディスクドライブ(FDD)1316、(例えば、着脱可能ディスケット1318への読み書きのため)および光ディスクドライブ1320、(例えば、CD−ROMディスク1322を読み込み、またはDVD等の他の大容量光媒体への読み書きのため)における、外部使用のために構成することができる。HDD1314,FDD1316、および光ディスクドライブ1320は、それぞれHDDインターフェース1324、FDDインターフェース1326、および光ドライブインターフェース1328により、システムバス1308に接続させることができる。外部ドライブ実装のためのHDDインターフェース1324には、USB(Universal Serial Bus)およびIEEE1394インターフェース技術の少なくとも一方または両方を含むことができる。]
[0045] ドライブおよび関連するコンピュータ可読媒体は、データの不揮発性記憶、データ構造、コンピュータ実行可能命令等を提供する。コンピュータ1302では、ドライブおよび媒体が適切なデジタルフォーマットで任意のデータの記憶を受け入れる。コンピュータ可読媒体の上記の説明では、HDD、着脱可能磁気ディスケット(例えば、FDD)、およびCDまたはDVD等の着脱可能な光媒体に言及したが、コンピュータが可読の、ZIPドライブ、磁気カセット、フラッシュメモリカード、カートリッジ等の他のタイプの媒体もまた例示の操作環境において使用することができること、およびさらに、任意のそのような媒体に、開示されるアーキテクチャの新規の方法を実行するためのコンピュータ実行可能命令を含むことが可能であることは、当業者には理解されるであろう。]
[0046] オペレーティングシステム1330、1つまたは複数のアプリケーションプログラム1332、他のプログラムモジュール1334、およびプログラムデータ1336を含む、多数のプログラムモジュールを、ドライブおよび揮発性メモリ1312に記憶することができる。1つまたは複数のアプリケーションプログラム1332、他のプログラムモジュール1334、およびプログラムデータ1336には、例えば、変更コンポーネント102、データ104、ウェブアプリケーション106、リバースコンポーネント108、データグリッド110、変更通知(302および304)、更新応答(310および312)、変更トラッカ500、アンドゥスタック502、グリッド状態(600、606、612、618、および632)、スタック状態(602、608、614、620、624および628)、およびトラッカ状態(604、610、616、622、626および630)を含むことができる。]
[0047] オペレーティングシステム、アプリケーション、モジュール、および/またはデータの全てまたは一部はまた、揮発性メモリ1312にキャッシュすることができる。開示されるアーキテクチャは、種々の市販のオペレーティングシステムまたはオペレーティングシステムの組み合わせを用いて実装可能であることは理解されるであろう。]
[0048] ユーザは、コマンドおよび情報を、1つまたは複数の有線/無線の入力デバイス、例えば、キーボード1338およびマウス1340等のポインティングデバイスを介して、コンピュータ1302に入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、IRリモートコントロール、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン等を含むことができる。これらおよび他の入力デバイスは、システムバス1308に連結される入力デバイスインターフェース1342を介してプロセシングユニット1304に接続されることが多いが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェース等の他のインターフェースにより接続することができる。]
[0049] モニタ1344または他のタイプのディスプレイデバイスも、ビデオアダプタ1346等のインターフェースを介してシステムバス1308に接続される。モニタ1344に加えて、コンピュータは典型的には、スピーカ、プリンタ等の他の周辺出力デバイス(図示せず)が含まれる。]
[0050] コンピュータ1302は、有線および/または無線の通信を介したリモートコンピュータ(群)1348等の1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化環境において作動することができる。リモートコンピュータ(群)1348は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、携帯用コンピュータ、マイクロプロセッサベースの娯楽用電化製品、ピアデバイス、または他の共通ネットワークノードとすることが可能であり、かつ、典型的には、コンピュータ1302に関して説明した要素の多くまたは全てを含むが、簡潔にするため、メモリ/記憶装置1350のみが例示される。示される論理接続には、ローカルエリアネットワーク(LAN)1352および/またはより大きなネットワーク、例えば、ワイドエリアネットワーク(WAN)1354への有線/無線接続性が含まれる。そのようなLANおよびWANネットワーク環境は、オフィスおよび企業においては一般的なものであり、イントラネット等の企業規模のコンピュータネットワークを容易にするものであるが、それらの全てがグローバル通信ネットワーク、例えば、インターネットに接続することができる。]
[0051] LANネットワーク環境において使用されるとき、コンピュータ1302は、有線および/または無線通信ネットワークインターフェースまたはアダプタ1356を介してLAN1352に接続される。アダプタ1356は、LAN1352への有線および/または無線通信を容易にすることが可能であり、LAN1352にはまた、アダプタ1356の無線機能性と通信するための、無線アクセスポイントを配設することができる。]
[0052] WANネットワーク環境において使用されるとき、コンピュータ1302は、モデム1358を含むことが可能であり、または、WAN1354上の通信サーバに接続され、または、インターネット等によりWAN1354上の通信を確立するための他の手段を有する。モデム1358は、内部的または外部的であり、および有線および/または無線のデバイスであり、入力デバイスインターフェース1342を介してシステムバス1308に接続される。ネットワーク化環境において、コンピュータ1302に関連して示されるプログラムモジュール、またはその一部分は、リモートメモリ/記憶装置1350に記憶することが可能である。示されるネットワーク接続は、例示のものであり、コンピュータ間の通信リンクを確立する他の手段が使用可能であることは、理解されるであろう。]
[0053] コンピュータ1302は、例えば、プリンタ、スキャナ、デスクトップおよび/または携帯用コンピュータ、PDA(携帯情報端末)、通信衛星、無線で検出可能なタグが関連づけられる任意の設備または場所(例えば、売店、新聞売店、トイレ)、および電話、との無線通信(例えば、IEEE802.11無線変調技術)において作動可能に配置される、無線デバイス等の、IEEE802系の規格を使用して、有線および無線デバイスまたはエンティティと通信すべく作動可能である。これには、少なくともWi−Fi(またはワイヤレス・フィディリティ)、ワイマックス、およびブルートゥース(登録商標)無線技術が含まれる。従って、通信は、従来のネットワークまたは少なくとも2つのデバイス間の単なるアドホック通信を用いるような、所定の構造とすることができる。Wi−Fiネットワークは、IEEE802.11x(a、b、g等)と呼ばれる無線技術を使用して、セキュアな、信頼性のある、速い無線接続性を提供する。Wi−Fiネットワークを使用して、コンピュータをお互いに、インターネットに、および有線ネットワーク(IEEE802.3関連の媒体および機能を使用する)に接続することが可能である。]
[0054] ここで図14を参照すると、マルチレベル・アンドゥ処理のための例示のクライアント・サーバコンピュータ環境1400の概略ブロック図が例示される。環境1400には、1つまたは複数のクライアント(群)1402が含まれる。クライアント(群)1402は、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピュータデバイス)とすることができる。クライアント(群)1402は、例えば、クッキーおよび/または関連する状況的情報を収容することができる。] 図14
[0055] 環境1400にはまた、1つまたは複数のサーバ(群)1404が含まれる。サーバ(群)1404はまた、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピュータデバイス)とすることができる。サーバ1404は、スレッドを収容して、例えば、アーキテクチャを採用して変換を行うことができる。クライアント1402とサーバ1404との間の1つの可能な通信は、2つまたはそれ以上のコンピュータプロセス間で伝送されるよう適合されるデータパケットの形式とすることができる。データパケットは、例えば、クッキーおよび/または関連する状況的情報を収容することができる。環境1400には、クライアント(群)1402とサーバ(群)1404との間の通信を容易にするために採用することが可能な通信フレームワーク1406(例えば、インターネット等のグローバル通信ネットワーク)が含まれる。]
[0056] 通信は、有線(光ファイバを含む)および/または無線技術を介して容易にすることが可能である。クライアント(群)1402は、クライアント(群)1402にローカルな情報(例えば、クッキーおよび/または関連する状況的情報)を記憶するよう採用され得る1つまたは複数のクライアントデータストア(群)1408に作動可能に接続される。同様に、サーバ(群)1404は、サーバ1404にローカルな情報を記憶するよう採用され得る1つまたは複数のサーバデータストア1410に作動可能に接続される。]
[0057] クライアント(群)1402には、ウェブアプリケーション106を含むことが可能であり、クライアントデータストア(群)1408には、データ104を含むことが可能である。サーバ(群)1404には、サーバ202および非同期の認証処理(306および308)を含むことが可能であり、サーバデータストア1410には、ドキュメント200を含むことが可能である。]
[0058] 上記で説明したものには、開示されるアーキテクチャの例が含まれる。もちろん、コンポーネントおよび/または方法論の全ての考え得る組み合わせを説明することはできないが、当業者は、多くのさらなる組み合わせおよび置換えが可能であることを認識するであろう。従って、新規なアーキテクチャが、添付の請求項の精神および範囲にある全てのそのような代替、修正、および変動を包含することが意図される。さらに、用語「含む」が、発明を実施するための形態または特許請求の範囲において使用される限りにおいて、そのような用語は、用語「備える」が特許請求の範囲において遷移語として採用される際に解釈されるように、「備える」と同様に包括的であることが意図される。]
权利要求:

請求項1
ウェブアプリケーションを介するデータへの非同期の変更をトラッキングするための変更コンポーネント(102)と、データ変更を前の状態にするリバース操作を実行するためのリバースコンポーネント(108)とを備えることを特徴とするコンピュータに実装されるアンドゥシステム(100)。
請求項2
前記データ変更がウェブページに関連付けられることを特徴とする請求項1に記載のシステム。
請求項3
前記ウェブアプリケーションは、ブラウザアプリケーションであることを特徴とする請求項1に記載のシステム。
請求項4
前記データ変更は、クライアントベースのデータグリッドを介して行われることを特徴とする請求項1に記載のシステム。
請求項5
前記データ変更は、グリッドを介して手動またはプログラムで行われることを特徴とする請求項4に記載のシステム。
請求項6
前記リバース操作は、少なくとも2つの前の変更に従ってデータを存在した状態に復元することを特徴とする請求項1に記載のシステム。
請求項7
前記ウェブアプリケーションは、変更の通知であって、他の変更に関する変更をドキュメントで記録するオーダキーを含む通知、を受け取ることを特徴とする請求項1に記載のシステム。
請求項8
前記変更は、サーバドキュメントに関連付けられ、クライアントベースのリバース操作のためのアンドゥスタックに入力され、クライアントベースの変更トラッカにおいてトラッキングされることを特徴とする請求項1に記載のシステム。
請求項9
サーバのサーバドキュメント内のデータ変更をクライアントベースのグリッドを介して検出するステップ(1000)と、オーダキーを変更通知内の変更に割り当てるステップ(1002)と、前記変更通知を認証のためにサーバに送るステップ(1004)と、非同期の認証情報を前記通知に基づきサーバから受け取るステップ(1006)と、認証情報をオーダキーに従ってグリッド内に順序づけるステップ(1008)と、サーバドキュメントにおけるアンドゥ/リドゥ操作をオーダキーに基づき管理するステップ(1010)とを備えることを特徴とするデータのリバース操作を提供する、コンピュータに実装される方法。
請求項10
前記グリッドにおける変更に基づきアンドゥスタックおよび変更トラッカを介して変更をカスケードするステップをさらに備えることを特徴とする請求項9に記載の方法。
請求項11
アンドゥスタック内の変更を記憶し、アンドゥ/リドゥ操作の一部として第1の明示的な変更に到達するまで変更を戻すステップをさらに備えることを特徴とする請求項9に記載の方法。
請求項12
明示的な変更を変更トラッカデータ構造内に記憶するステップをさらに備えることを特徴とする請求項9に記載の方法。
請求項13
全ての黙示的な変更を次の明示的な動作の前まで戻し、そして、次の明示的な動作を取り消すステップをさらに備えることを特徴とする請求項9に記載の方法。
請求項14
クライアントウェブアプリケーションを介して、サーバのウェブドキュメントに対するデータ変更を開始するステップ(1200)と、順序立てられた変更の履歴として前記変更をクライアントアンドゥスタック内に記憶し、変更エントリをクライアント変更トラッカに記憶するステップ(1202)と、前記変更をサーバにおいて認証するステップ(1204)と、認証情報を、非同期にサーバからウェブアプリケーションに受け取るステップ(1206)と、前記アンドゥスタック内の順序立てられた変更の履歴および前記変更トラッカ内の変更のエントリに基づき、ウェブドキュメントにおけるアンドゥ/リドゥ操作を管理するステップ(1208)とを備えることを特徴とするデータのリバース操作を提供する、コンピュータに実装される方法。
請求項15
前記データ変更を顕在化させ、クライアントのデータグリッドを介して、前記データ変更を可視化するステップをさらに備えることを特徴とする請求項14に記載の方法。
請求項16
ウェブアプリケーションにおいて実行される保存操作の前に起こった、ウェブドキュメントにおける変更をアンドゥするステップをさらに備えることを特徴とする請求項14に記載の方法。
請求項17
保存操作に応答して、変更を変更トラッカから読み出し、前記変更をデータソースにコミットし、変更トラッカをクリアするステップをさらに備えることを特徴とする請求項14に記載の方法。
請求項18
順序立てられた変更の履歴は、各変更に割り当てられた変更キーに基づくことを特徴とする請求項14に記載の方法。
請求項19
黙示的な変更情報および明示的な変更情報を、黙示的および明示的変更のアンドゥを実行する機能と共に、アンドゥスタック内に記憶するステップをさらに備えることを特徴とする請求項14に記載の方法。
請求項20
明在化された変更をセルレベルの変更の集合としてエクスポートするステップをさらに備えることを特徴とする請求項14に記載の方法。
类似技术:
公开号 | 公开日 | 专利标题
US10255108B2|2019-04-09|Parallel execution of blockchain transactions
US9778992B1|2017-10-03|Interfacing with a virtual database system
JP6000401B2|2016-09-28|Cloud storage
KR101925696B1|2018-12-05|대규모 데이터 스트림들의 획득, 저장, 및 소비를 위한 관리 서비스
US9590880B2|2017-03-07|Dynamic collection analysis and reporting of telemetry data
Taylor2010|An overview of the Hadoop/MapReduce/HBase framework and its current applications in bioinformatics
AU2018202230A1|2018-04-26|Client-configurable security options for data streams
US10146810B2|2018-12-04|Method and system for collecting and organizing data corresponding to an event
US20160117230A1|2016-04-28|High availability scheduler for scheduling searches of time stamped events
US9646042B2|2017-05-09|Data consistency and rollback for cloud analytics
US8261126B2|2012-09-04|Bare metal machine recovery from the cloud
US8494996B2|2013-07-23|Creation and revision of network object graph topology for a network performance management system
US20140324862A1|2014-10-30|Correlation for user-selected time ranges of values for performance metrics of components in an information-technology environment with log data from that information-technology environment
US9355060B1|2016-05-31|Storage service lifecycle policy transition management
US20150134796A1|2015-05-14|Dynamic partitioning techniques for data streams
JP4647653B2|2011-03-09|バージョニングをベースとするトリガのためのシステムおよび方法
US20170255589A1|2017-09-07|Lifecycle support for storage objects
US10496456B2|2019-12-03|System having in-memory buffer service, temporary events file storage system and events file uploader service
US20180060133A1|2018-03-01|Event-driven resource pool management
US7877797B2|2011-01-25|Non-intrusive background synchronization when authentication is required
US10078710B2|2018-09-18|Distributed data set storage and analysis reproducibility
US8793278B2|2014-07-29|System and method for data preservation and retrieval
US7698602B2|2010-04-13|Systems, methods and computer products for trace capability per work unit
KR20140113966A|2014-09-25|프레즌스 기반 동기화 기법
US8566476B2|2013-10-22|Method and system for analyzing data related to an event
同族专利:
公开号 | 公开日
EP2250550B1|2017-08-09|
ZA201003843B|2011-07-27|
WO2009088727A3|2009-10-08|
IL206065D0|2010-11-30|
WO2009088727A2|2009-07-16|
RU2501069C2|2013-12-10|
ES2646091T3|2017-12-12|
US20140297599A1|2014-10-02|
IL206065A|2015-11-30|
JP5298136B2|2013-09-25|
US20090177703A1|2009-07-09|
CN101911010A|2010-12-08|
AU2008346831A1|2009-07-16|
EP2250550A4|2012-10-24|
EP2250550A2|2010-11-17|
MY155811A|2015-11-30|
BRPI0820809A2|2015-06-16|
KR20100111673A|2010-10-15|
US8756204B2|2014-06-17|
CA2707635C|2016-08-09|
CA2707635A1|2009-07-16|
CN101911010B|2013-05-08|
KR101577841B1|2015-12-28|
RU2010128169A|2012-01-20|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JP2003242010A|2002-02-05|2003-08-29|Internatl Business Mach Corp <Ibm>|一時オブジェクトに関するログ使用の最適化|
JP2005018774A|2003-06-23|2005-01-20|Microsoft Corp|アンドゥインフラストラクチャ|JP2014534532A|2011-11-03|2014-12-18|オラクル・インターナショナル・コーポレイション|オラクルリワインド:メタデータドリブンのアンドゥ|
JP2017527901A|2014-08-22|2017-09-21|オラクル・インターナショナル・コーポレイション|ユーザセッション間にわたる操作のアンドゥサポートを用いた自動保存|US5481710A|1992-09-16|1996-01-02|International Business Machines Corporation|Method of and system for providing application programs with an undo/redo function|
EP0664901B1|1992-12-23|1996-09-18|Otlc|Atomic command system|
CA2145675C|1993-02-26|2002-11-26|Arnold Schaeffer|Collaborative work system|
US5537526A|1993-11-12|1996-07-16|Taugent, Inc.|Method and apparatus for processing a display document utilizing a system level document framework|
US5956728A|1996-07-17|1999-09-21|Next Software, Inc.|Object graph editing context and methods of use|
US7680879B2|1996-07-18|2010-03-16|Computer Associates Think, Inc.|Method and apparatus for maintaining data integrity across distributed computer systems|
US5983242A|1997-07-01|1999-11-09|Microsoft Corporation|Method and system for preserving document integrity|
US6192378B1|1998-05-13|2001-02-20|International Business Machines Corporation|Method and apparatus for combining undo and redo contexts in a distributed access environment|
US6185577B1|1998-06-23|2001-02-06|Oracle Corporation|Method and apparatus for incremental undo|
US6460051B1|1998-10-28|2002-10-01|Starfish Software, Inc.|System and methods for synchronizing datasets in a communication environment having high-latency or other adverse characteristics|
US6527812B1|1998-12-17|2003-03-04|Microsoft Corporation|Method and system for undoing multiple editing operations|
DE19912008A1|1999-03-17|2000-09-21|Philips Corp Intellectual Pty|Netzwerkstation|
DE10040987B4|1999-09-29|2006-10-12|International Business Machines Corp.|Verfahren und Vorrichtung für übereinstimmende Aktualisierungen von redundanten Daten in relationalen Datenbanken|
TW527802B|2000-11-14|2003-04-11|Farstone Technology Inc|Network recovery system and its backup/recovery method|
US20030212987A1|2001-02-28|2003-11-13|Demuth Steven J.|Client container for building EJB-hosted java applications|
US7237200B2|2001-03-16|2007-06-26|Netomat, Inc.|Sharing, managing and communicating information over a computer network|
US6907428B2|2001-11-02|2005-06-14|Cognos Incorporated|User interface for a multi-dimensional data store|
US20030182278A1|2002-03-25|2003-09-25|Valk Jeffrey W.|Stateless cursor for information management system|
US7346652B2|2002-05-13|2008-03-18|First Data Corporation|Asynchronous data validation|
US6928577B2|2002-07-29|2005-08-09|Eternal Systems, Inc.|Consistent message ordering for semi-active and passive replication|
EP1815356A4|2004-08-02|2008-01-23|Justsystems Corp|Document processing and management approach to creating a new document in a mark up language environment using new fragment and new scheme|
US7739244B2|2004-10-14|2010-06-15|Oracle International Corporation|Operating logging for online recovery in shared memory information systems|
US7418460B2|2004-10-19|2008-08-26|Microsoft Corporation|Method and system for enabling undo across object model modifications|
CN101040250A|2004-11-12|2007-09-19|佳思腾软件公司|数据处理装置和数据处理方法|
US7788237B2|2004-12-17|2010-08-31|Microsoft Corporation|Method and system for tracking changes in a document|
US8103624B2|2005-01-13|2012-01-24|International Business Machines Corporation|Apparatus and method for automating the logging of table changes in a database|
US8176002B2|2005-03-24|2012-05-08|Microsoft Corporation|Method and system for user alteration of the configuration of a data warehouse|
US7584226B2|2005-05-24|2009-09-01|International Business Machines Corporation|System and method for peer-to-peer grid based autonomic and probabilistic on-demand backup and restore|
CN1859379B|2005-12-07|2011-02-09|华为技术有限公司|一种可扩展标记语言文档管理方法及系统|
US8108763B2|2007-01-19|2012-01-31|Constant Contact, Inc.|Visual editor for electronic mail|US20100229052A1|2008-01-08|2010-09-09|Microsoft Corporation|Resolving asynchronous validation errors|
US20110185282A1|2010-01-28|2011-07-28|Microsoft Corporation|User-Interface-Integrated Asynchronous Validation for Objects|
US9336137B2|2011-09-02|2016-05-10|Google Inc.|System and method for performing data management in a collaborative development environment|
US8738706B1|2011-11-16|2014-05-27|Google Inc.|Systems and methods for collaborative document editing|
US10733057B2|2015-10-30|2020-08-04|Bently Systems, Incorporated|Techniques for application undo and redo using SQL patchsets or changesets|
KR102010556B1|2018-06-27|2019-10-21|주식회사 한글과컴퓨터|비동기 방식의 액션을 이용하는 웹 전자 문서 편집 장치 및 이의 동작 방법|
法律状态:
2011-12-08| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111207 |
2011-12-08| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111207 |
2013-05-10| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130510 |
2013-05-14| TRDD| Decision of grant or rejection written|
2013-05-20| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130517 |
2013-06-20| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130617 |
2013-06-21| R150| Certificate of patent or registration of utility model|Ref document number: 5298136 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2015-04-16| S111| Request for change of ownership or part of ownership|Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
2015-04-24| R350| Written notification of registration of transfer|Free format text: JAPANESE INTERMEDIATE CODE: R350 |
2016-06-07| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2017-06-06| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-06-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-06-04| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2020-05-29| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2021-05-31| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]